package com.xasxt.book.app.service;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.xasxt.book.app.dao.BookDaoMapper;
import com.xasxt.book.app.dao.MarketDaoMapper;
import com.xasxt.book.app.entity.Book;
import com.xasxt.book.app.entity.Market;
/**
 * 功能:
 * 开发者:虫儿飞
 * 开发时间:2018年5月19日 下午2:05:32
 */
@Service
@Transactional(isolation=Isolation.DEFAULT,
rollbackFor=Exception.class,propagation=Propagation.REQUIRED)
public class MarketService {
	@Autowired
	private MarketDaoMapper   marketDaoMapper;
	@Autowired
	private BookDaoMapper  bookDaoMapper;
	
	/**
	 * 
	 * 功能:图书销售信息添加
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月27日 上午9:08:33
	 * @param market
	 * @return
	 */
	public boolean  saveMarketInfo(Market  market){
		//图书库存数量要进行增减
		Book book=bookDaoMapper.getBookInfo(market.getbId());
		if(book!=null) {
			int quantity=Integer.parseInt(book.getQuantity())-Integer.parseInt(market.getQuantity());
			book.setQuantity(String.valueOf(quantity));
		}
		bookDaoMapper.updateBookInfo(book);
		//销售的记录记录到销售表
		return marketDaoMapper.saveMarketInfo(market)!=0?true:false;
	}

	/**
	 * 
	 * 功能:分页统记录数
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月27日 上午9:09:08
	 * @param map
	 * @return
	 */
	public int  getCountMarket(Map<String,Object>map){
		return marketDaoMapper.getCountMarket(map);
	}


	/**
	 * 
	 * 功能:销售信息分页查询
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月27日 上午9:10:13
	 * @param map
	 * @return
	 */
	public List<Market>findMarketWithPage(Map<String,Object>map){
		return marketDaoMapper.findMarketWithPage(map);
		
	}
     /**
      * 
      * 功能:销售分析准备数据查询
      * 开发者:虫儿飞
      * 开发时间:2018年5月27日 上午11:39:59
     * @param map 
      * @return
      */
	public List<Market> findAnalyseMarketInfo(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return marketDaoMapper.findAnalyseMarketInfo(map);
	}
}
